package cn.xshi.sys.dao;
import java.util.List;
import java.util.Map;
import cn.xshi.sys.model.SysUserInfo;
/**
 * @Desc 员工信息
 * @Author 邓纯杰
 * @CreateTime 2012-12-12 12:12:12
 */
public interface SysUserInfoDao {

	/**
	* 分页
	* @param condition 
	* @return
	*/
	List<SysUserInfo> getSysUserInfoListByCondition(Map<String,Object> condition);

	/**
	 * 已删除用户
	 * @param condition
	 * @return
	 */
	List<SysUserInfo> getSysUserInfoDeletedListByCondition(Map<String,Object> condition);

	/**
	* 查询对象
	* @param id
	* @return
	*/
	SysUserInfo getSysUserInfoById(String id);

	/**
	* 添加
	* @param sysUserinfo
	* @return
	*/
	int addSysUserInfo(SysUserInfo sysUserinfo);

	/**
	* 修改
	* @param sysUserinfo
	* @return
	*/
	int updateSysUserInfo(SysUserInfo sysUserinfo);

	/**
	* 删除
	* @param condition 
	* @return
	*/
	int delSysUserInfo(Map<String,Object> condition);
	
	/**
	 * 恢复用户
	 * @param condition
	 * @return
	 */
	int recoverSysUserInfo(Map<String,Object> condition);

	/**
	 * 根据账号查找对象
	 * @param account
	 * @return
	 */
	SysUserInfo getSysUserInfoByUserName(String account);
	
	/**
	 * 读取所有用户根据各种情况非分页
	 * @param condition
	 * @return
	 */
	List<SysUserInfo> getSysUserInfoListAllByCondition(Map<String,Object> condition);
	
	/**
	 * 验证用户名是否存在
	 * @return
	 */
	int validateUser(Map<String,Object> condition);

	/**
	 * 根据各种情况查找集合不分页（流程设计器中处理人 发起人 发起人组及同步数据之授权中心等使用）
	 * @param condition
	 * @return
	 */
	List<SysUserInfo> getSysUserInfoList(Map<String,Object> condition);
}
